package com.ruoyi.asset.recycle.service;

import com.ruoyi.asset.recycle.domain.bo.WasteRecycleBo;
import com.ruoyi.asset.recycle.domain.bo.WasteRecycleStatisticsBo;
import com.ruoyi.asset.recycle.domain.vo.RecycleCommunityCountVo;
import com.ruoyi.asset.recycle.domain.vo.RecycleWorkStatisticsVo;
import com.ruoyi.asset.recycle.domain.vo.WasteRecycleVo;
import com.ruoyi.common.core.domain.PageQuery;
import com.ruoyi.common.core.page.TableDataInfo;

import java.util.List;
import java.util.Map;
import java.util.Set;

/**
 * 垃圾收运
 * @author 12276
 */
public interface IWasteRecycleService {

    /**
     * 数据导入
     *
     * @return 返回导入失败数据的行号和错误信息
     */
    List<String> importExcel(String excelUrl);

    /**
     * 删除垃圾收运
     */
    int deleteRecycle(Set<Long> idsSet);

    /**
     * 查询垃圾收运范围
     * @return
     */
    TableDataInfo<WasteRecycleVo> queryRecycle(WasteRecycleBo searchBo, PageQuery pageQuery);

    /**
     * 导出垃圾收运范围
     * @return
     * @param searchBo
     */
    List<WasteRecycleVo> exportRecycle(WasteRecycleBo searchBo);

    /**
     * 统计首页垃圾收运数据
     * @return
     */
    WasteRecycleStatisticsBo getRecycleCount();

    Map getRecycleCommunityCount();

    /**
     * 智慧大屏垃圾收运左侧
     * @param date 指定日期
     * @return
     */
    List<RecycleCommunityCountVo> getRecycleCountByCommunity(String date);

    RecycleWorkStatisticsVo getRecycleWorkByDate(String date);

    RecycleCommunityCountVo getRecycleByDateAndCommunity(String date,String community);
}
